
int ret;
bool check[16];
void dfs(int n, int pos)
{
    if (pos == n + 1)
    {
        ret++;
        return;
    }

    for (int i = 1; i <= n; i++)
    {
        if (!check[i] && (i % pos == 0 || pos % i == 0))
        {
            check[i] = true;
            dfs(n, pos + 1);
            check[i] = false;
        }
    }
}
int countArrangement(int n) {
    dfs(n, 1);
    return ret;
}

int main()
{
    countArrangement(3);

	return 0;
}